home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1998 January: Mac OS SDK / Dev.CD Jan 98 SDK2.toast / Development Kits (Disc 2) / QuickDraw GX / Programming Stuff / Sample Code / Printing Samples / Extensions… / "kabooms" (global data info) ƒ / no kaboom ƒ / no kaboom goodness disassembly next >
Encoding:
Text File  |  1996-03-20  |  2.9 KB  |  76 lines  |  [TEXT/MPS ]

  1. ;file: no kaboom goodness disassembly.
  2.  
  3. ;InitGlobalData:
  4.  
  5.         LINK     A6,#$0000
  6.         MOVEM.L  D7/A3/A4,-(A7)     
  7.         LEA      -$0300(A5),A3      ; A5 valid from MyStartJob, below.
  8.         LEA      -$0400(A5),A4      ; Therefore, A3 and A4 are also valid.
  9.         SUBQ.L   #$2,A7             
  10.         _CurResFile                    ; oldResFile = CurResFile();
  11.         MOVE.W   (A7)+,D7           
  12.         MOVE.L   #$00010002,D0      
  13.         DC.W     $ABFE              
  14.         MOVE.W   D0,-(A7)           
  15.         _UseResFile                 ; UseResFile(GXGetMessageHandlerResFile());
  16.         PEA      -$0100(A5)         
  17.         MOVE.W   #$00C8,-(A7)       
  18.         MOVEQ    #$01,D0            
  19.         MOVE.W   D0,-(A7)           
  20.         JSR      *+$00F2            ; load s1 (valid.)
  21.         PEA      -$0200(A5)         
  22.         MOVE.W   #$00C8,-(A7)       
  23.         MOVEQ    #$02,D0            
  24.         MOVE.W   D0,-(A7)           
  25.         JSR      *+$00E2            ; load s2 (valid.)
  26.         MOVE.L   A3,-(A7)           
  27.         MOVE.W   #$00C8,-(A7)       
  28.         MOVEQ    #$03,D0            
  29.         MOVE.W   D0,-(A7)           
  30.         JSR      *+$00D4            ; load s3 (valid.)
  31.         MOVE.L   A4,-(A7)           
  32.         MOVE.W   #$00C8,-(A7)       
  33.         MOVEQ    #$04,D0            
  34.         MOVE.W   D0,-(A7)           
  35.         JSR      *+$00C6            ; load s4 (valid.)
  36.         MOVE.W   D7,-(A7)           
  37.         _UseResFile                 ; UseResFile(oldResFile);
  38.         SUBQ.L   #$2,A7             
  39.         _ResError                    ; return ResError();
  40.         MOVE.W   (A7)+,D0           
  41.         MOVEM.L  -$000C(A6),D7/A3/A4
  42.         UNLK     A6                 
  43.         RTS                         
  44.  
  45.  
  46. ;MyStartJob:
  47.  
  48.         LINK     A6,#$0000          
  49.         MOVEM.L  D6/D7,-(A7)        
  50.         PEA      *+$00E6            
  51.         JSR      *+$00D6            
  52.         MOVE.L   D0,-(A7)           
  53.         MOVEQ    #$2D,D0            
  54.         DC.W     $ABFB              ; err1 = NewMessageGlobals(A5Size(), A5Init);
  55.         MOVE.W   D0,D6              
  56.         ADDQ.W   #$8,A7             ; if (!err1)
  57.         BNE.S    *+$0008            ;     err1 = InitGlobalData();
  58.         JSR      *-$00A0            
  59.         MOVE.W   D0,D6              
  60.         MOVE.L   $000C(A6),-(A7)    
  61.         MOVE.L   $0008(A6),-(A7)    
  62.         MOVEQ    #$36,D0            
  63.         DC.W     $ABFB              ; err2 = Forward_GXStartJob(docName, pageCount);
  64.         MOVE.W   D0,D7              
  65.         ADDQ.W   #$8,A7             
  66.         BNE.S    *+$0004            ; if (!err2) err2 = err1;
  67.         MOVE.W   D6,D7              
  68.         TST.W    D7                 
  69.         BEQ.S    *+$0006            
  70.         MOVEQ    #$2E,D0
  71.         DC.W     $ABFB              ; if (err2) DisposeMessageGlobals();
  72.         MOVE.W   D7,D0              ; return err2;
  73.         MOVEM.L  -$0008(A6),D6/D7   
  74.         UNLK     A6                 
  75.         RTS                         
  76.